import axios from 'axios';
import { message } from 'antd';
import BrowserHistory from '@/util/history';

let baseURL = 'http://127.0.0.1:3003/api/v1';
if (process.env.NODE_ENV == 'production') {
	baseURL = 'https://admin.code-sky.cn/api/v1';
}

let service = axios.create({
	baseURL: baseURL, // 初始 baseURL，可在业务里用绝对地址替换
	method: 'post',                          // 可在业务里替换
	timeout: 8000,                           // 可在业务里替换
});


// request 拦截器
service.interceptors.request.use(config => {
	// 考虑如何在 store 存储 token
	config.headers['Authorization'] = STORAGE.getItem('access-token') || 'noToken';
	return config;
}, error => Promise.reject(error));

// respone拦截器
service.interceptors.response.use(
	response => {
		const res = response.data;
		switch (res.errNo) {
		case 0 :
			return res;
		case 401 :
			message.error('登录状态失效，正在前往登录页面...');
			setTimeout(() => {
				BrowserHistory.push('/login');
			}, 3000);
			return new Promise(()=>{});  // 中断 promsie链路
		default :
			return Promise.reject(res);
		}
	},
	error => Promise.reject(error));

window.AJAX = service;
